package model;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Usuario {
	private String nome;
	private String login;
	private String senha;
	
	private Map<Integer, Livro> biblioteca = new HashMap<Integer, Livro>();
	private List<Emprestimo> emprestimos = new ArrayList<Emprestimo>();
	
	public Usuario() {
		super();
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	public Collection<Livro> getBiblioteca() {
		return (Collection<Livro>) biblioteca.values();
	}
	public List<Livro> getListaLivros() {
		List<Livro> lista = new ArrayList<Livro>();
		Iterator<Livro> it = biblioteca.values().iterator();
		while (it.hasNext()) {
			lista.add((Livro) it.next());
		}
		return lista;
	}
	public void setBiblioteca(Map<Integer, Livro> biblioteca) {
		this.biblioteca = biblioteca;
	}
	public List<Emprestimo> getEmprestimos() {
		return emprestimos;
	}
	public void setEmprestimos(List<Emprestimo> emprestimos) {
		this.emprestimos = emprestimos;
	}
	public void adicionaLivro(Livro novo) {
		if (!biblioteca.containsKey(novo.getIsnb())) {
			this.biblioteca.put(novo.getIsnb(), novo);
		}
	}
	public Livro getLivroByIsbn(int isbn) {
		if (!this.biblioteca.containsKey(isbn)) {
			return null;
		}
		return this.biblioteca.get(isbn);
	}
	public void adionaEmprestimo(Emprestimo novo) {
		this.emprestimos.add(novo);
	}
	public void removeEmprestimo(Emprestimo remover) {
		if (emprestimos.contains(remover)) {
			emprestimos.remove(remover);
		}
	}
}
